<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // var arr = [-12, -321, -22, -82, -72];
        // // 求和
        // var sum = 0;
        // for (var i = 0; i < arr.length; i++) {
        //     // index: 索引
        //     sum += arr[i];
        // }
        // console.log(sum);
        // // 求平均值
        // console.log(sum / arr.length);

        // // 求最大值
        // var max = -Infinity; // 负无穷
        // for (var i = 0; i < arr.length; i++) {
        //     if (arr[i] > max) {
        //         max = arr[i];
        //     }
        // }

        // console.log(max);

        // var arr = ['aaaa', 'bbb', 'cccc', 'dddd'];
        // var result = '';

        // for (var i = 0; i < arr.length; i++) {
        //     result += arr[i] + (i === arr.length - 1 ? '' : '|');
        // }

        // console.log(result);

        // var result = arr.join('+');

        // console.log(result);

        // var arr = ['aaaa', 'bbb', 'cccc', 'dddd'];

        // // 往后加 5
        // arr.push('hello');

        // // 往前加 0.5
        // arr.unshift('1');

        // console.log(arr);

        // var arr = [];
        // for (var i = 1; i <= 10; i++) {
        //     arr.push(i);
        // }

        // console.log(arr);

        // // 1.
        // var evenNums = [];

        // for (var i = 1; i <= 10000; i++) {
        //     evenNums.push(i * 2);
        // }

        // console.log(evenNums);

        // // 2.
        // var evenNums = [];
        // var current = 2;

        // while (evenNums.length < 10000) {
        //     evenNums.push(current);
        //     current += 2;
        // }

        // console.log(evenNums);

        // // 筛选语法
        // var nums = [123, 83, 10, 2, -1, 23, 56];
        // var result = [];

        // for (var i = 0; i < nums.length; i++) {
        //     if (nums[i] >= 50) {
        //         result.push(nums[i]);
        //     }
        // }

        // console.log(result);

        // // 查找语法(找没找到)
        // var nums = [123, 83, 10, -2, -1, 23, 56];
        // var flag = false;

        // for (var i = 0; i < nums.length; i++) {
        //     if (nums[i] < 0) {
        //         flag = true;
        //         break;
        //     }
        // }

        // console.log(flag);

        // // 查找语法(找到几个)
        // var nums = [123, 83, 10, -2, -1, 23, 56];
        // var count = 0;

        // for (var i = 0; i < nums.length; i++) {
        //     if (nums[i] < 0) {
        //         count++;
        //     }
        // }

        // console.log(count);

        // // 筛选数组中不为0的数组项
        // var nums = [123, 83, 10, 0, 0, 23, 56];
        // var result = [];

        // for (var i = 0; i < nums.length; i++) {
        //     if (nums[i] !== 0) {
        //         result.push(nums[i]);
        //     }
        // }

        // console.log(result);

        // var arr = [1, 2, 3, 4, 5, 6];

        // // 从第几索引开始删  删几个 5
        // // arr.splice(1, 1);
        // arr.splice(2, 3);

        // // 删除最后一个 0.5
        // // arr.pop();

        // // 删除第一个 0.5
        // // arr.shift();

        // console.log(arr);

        // 改
        // arr[1] = 200;

        // var arr = [1, 2, 3, 5, 4, 6];
        // var result = [];

        // // // 1.
        // // for (var i = arr.length - 1; i >= 0; i--) {
        // //     result.push(arr[i]);
        // // }

        // // 2.
        // for (var i = 0; i < arr.length; i++) {
        //     result.unshift(arr[i]);
        // }

        // console.log(result);

        // // 8项以下 用的是插入排序  大于8时 用的是快速排序
        // console.log(arr.sort());

        // var arr = ['a', 'a', 'a', '*', 'b', 'b', '*', 'c', 'c', 'c', 'c', '*', 'd', 'd', 'd', 'd', 'd', 'd', 'd'];
        // var result = [];
        // var str = '';
        // for (var i = 0; i < arr.length; i++) {
        //     if (arr[i] === '*') {
        //         result.push(str);
        //         str = '';
        //         continue;
        //     }
        //     str += arr[i];
        // }

        // result.push(str);

        // console.log(result);

        // var words = ['icon', 'inline', 'font', 'inline', 'navigator', 'auto', 'font', 'inline', 'block', 'count', 'transform', 'translate'];
        // var info = [];

        // for (var i = 0; i < words.length; i++) {
        //     var word = words[i];
        //     var hasThisWord = false;
        //     // 记录
        //     var j;
        //     for (j = 0; j < info.length; j++) {
        //         if (info[j][0] === word) {
        //             hasThisWord = true;
        //             break;
        //         }
        //     }
        //     if (hasThisWord) {
        //         info[j][1]++;
        //     } else {
        //         info.push([word, 1]);
        //     }
        // }

        // var result = [];
        // for (var i = 0; i < info.length; i++) {
        //     if (info[i][1] > 1) {
        //         result.push(info[i]);
        //     }
        // }

        // console.log(result);

        //
        // const arr = [1, 2, 3, 4];

        // const res = arr.filter(function (item) {
        //     return item % 2 === 0;
        // });

        // arr和res不是一个数组

        // 挑选第一个偶数
        // function find (arr) {
        //     for (const item of arr) {
        //         if (item % 2 === 0) {
        //             return item;
        //         }
        //     }
        //     // return undefined;
        //     // 函数没有提供返回值时 默认返回undefined
        // }

        // const res = arr.find(function (item) {
        //     return item % 5 === 0;
        // });

        // // console.log(res);

        // // 挑选第一个偶数的索引
        // function findIndex (arr) {
        //     for (let i = 0; i < arr.length; i++) {
        //         if (item % 2 === 0) {
        //             return i;
        //         }
        //     }
        //     return -1;
        // }

        // const res = arr.findIndex(function (item) {
        //     return item % 2 === 0;
        // }); // 1

        // console.log(res);

        // const arr = [1, 3, 5, 7];

        // // 数组中有没有偶数
        // function no (arr) {
        //     for (const item of arr) {
        //         if (item % 2 === 0) {
        //             return true;
        //         }
        //     }
        //     return false;
        // }

        // const res = arr.some(function (item) {
        //     return item % 2 === 0;
        // });

        // console.log(res);

        // 说5个数组的方法
        // const arr = [2, 4, 6];

        // // arr.filter(function (item) {
        // //     return 条件表达式;
        // // }); // []
        // // arr.some(); // boolean
        // // arr.find(); // 第一个匹配的数组项
        // // arr.findIndex(); // 第一个匹配的数组项的索引

        // // 判断数组中 是否每一个都是偶数
        // function every (arr) {
        //     for (const item of arr) {
        //         if (item % 2 !== 0) {
        //             return false;
        //         }
        //     }
        //     return true;
        // }

        // const res = arr.every(function (item) {
        //     return item % 2 === 0;
        // });

        // console.log(res);

        // const students = [
        //     {
        //         name: '张三',
        //         age: 19,
        //     },
        //     {
        //         name: '李四',
        //         age: 19,
        //     },
        //     {
        //         name: '王麻子',
        //         age: 19,
        //     },
        // ];

        // // 判断是否每个人的名字都是两个字的
        // const res = students.every(function (item) {
        //     return item.name.length === 2;
        // });

        // console.log(res);

        // const arr = [1, 2, 3];
        // // 查找数组中2的索引
        // console.log( arr.indexOf(2) ); // 1

        // const students = [
        //     {
        //         name: '张三',
        //         age: 19,
        //     },
        //     {
        //         name: '李四',
        //         age: 19,
        //     },
        //     {
        //         name: '王麻子',
        //         age: 19,
        //     },
        // ];

        // // 查找数组中张三的索引
        // // 查找数组中item.name为张三的索引

        // console.log( students.findIndex(function (item) {
        //     return item.name === '张三';
        // }) );

        // console.log( students.indexOf({
        //     name: '张三',
        //     age: 19,
        // }) );


        // const obj1 = {
        //     name: '张三',
        //     age: 19,
        // };

        // const obj2 = {
        //     name: '张三',
        //     age: 19,
        // };

        // console.log(obj1 === obj2);

        // const arr = [1, 2, 3];
        // // 查找数组中有没有2
        // console.log(arr.some(function (item) {
        //     return item === 2;
        // })); // true

        // console.log(arr.includes(2));

        const zs = {
            name: '张三',
            age: 19,
        };

        const students = [
            zs,
            {
                name: '李四',
                age: 19,
            },
            {
                name: '王麻子',
                age: 19,
            },
        ];

        // 判断数组中有没有张三
        // 判断数组中有没有item.name为张三的
        console.log(students.some(function (item) {
            return item.name === '张三';
        })); // true

        console.log(students.includes(zs)); //


    </script>
</body>
</html>